Product comparison techniques using augmented reality

ABSTRACT

The present disclosure generally relates to providing product information. The appearance of a first product and a second product is detected within a field of view of one or more image sensors. Movement of the first product or the second product relative to one another is then detected. If the movement of the first product or the second product relative to one another causes the first product to come within a threshold distance of the second product, then comparison information is displayed at a location at least partially between the first product and the second product.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No.62/836,330, filed Apr. 19, 2019, the entire contents of which is herebyincorporated by reference.

FIELD

The present disclosure relates to providing product information incomputer-generated realities.

BACKGROUND

Retail stores display on its shelves various competing products.Shoppers can obtain information about these products. Comparinginformation about two similar products may require piecing togetherinformation from disparate labeling on the respective product packages.Sometimes, more detailed information about the product are notphysically available on the product packaging (e.g., ratings orinstructions for use).

BRIEF SUMMARY

Reading product packaging and instructions to compare products, while ata brick and mortar shop, is an inefficient experience. Searching onlineto locate product information, in the same setting, can also beinefficient. These techniques require more time than necessary, wastinguser time and device energy. This latter consideration is particularlyimportant in battery-operated devices.

Accordingly, the present techniques provide electronic devices withfaster, more efficient methods and interfaces for providing productinformation. Such methods and interfaces optionally complement orreplace other methods for providing product information. Such methodsand interfaces reduce the cognitive burden on a user and produce a moreefficient human-machine interface. For battery-operated computingdevices, such methods and interfaces conserve power and increase thetime between battery charges.

In accordance with some embodiments, a method for providing productinformation is described. The method includes: at an electronic devicewith a display and one or more image sensors: detecting the appearanceof a first product and a second product within a field of view of theone or more image sensors; detecting movement of the first product orthe second product relative to one another; in accordance with adetermination that the movement of the first product or the secondproduct relative to one another causes the first product to come withina threshold distance of the second product: displaying comparisoninformation at a location at least partially between the first productand the second product; and in accordance with a determination that themovement of the first product or the second product relative to oneanother does not cause the first product to come within a thresholddistance of the second product: forgoing displaying the comparisoninformation.

In accordance with some embodiments, a non-transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device is described. The one ormore programs include instructions for: detecting the appearance of afirst product and a second product within a field of view of one or moreimage sensors; detecting movement of the first product or the secondproduct relative to one another; in accordance with a determination thatthe movement of the first product or the second product relative to oneanother causes the first product to come within a threshold distance ofthe second product: displaying comparison information at a location atleast partially between the first product and the second product; and inaccordance with a determination that the movement of the first productor the second product relative to one another does not cause the firstproduct to come within a threshold distance of the second product:forgoing displaying the comparison information.

In accordance with some embodiments, a transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device is described. The one ormore programs include instructions for: detecting the appearance of afirst product and a second product within a field of view of one or moreimage sensors; detecting movement of the first product or the secondproduct relative to one another; in accordance with a determination thatthe movement of the first product or the second product relative to oneanother causes the first product to come within a threshold distance ofthe second product: displaying comparison information at a location atleast partially between the first product and the second product; and inaccordance with a determination that the movement of the first productor the second product relative to one another does not cause the firstproduct to come within a threshold distance of the second product:forgoing displaying the comparison information.

In accordance with some embodiments, an electronic device comprising oneor more processors and memory storing one or more programs configured tobe executed by the one or more processors is described. The one or moreprograms include instructions for: detecting the appearance of a firstproduct and a second product within a field of view of one or more imagesensors; detecting movement of the first product or the second productrelative to one another; in accordance with a determination that themovement of the first product or the second product relative to oneanother causes the first product to come within a threshold distance ofthe second product: displaying comparison information at a location atleast partially between the first product and the second product; and inaccordance with a determination that the movement of the first productor the second product relative to one another does not cause the firstproduct to come within a threshold distance of the second product:forgoing displaying the comparison information.

In accordance with some embodiments, an electronic device is described.The electronic device includes means for detecting the appearance of afirst product and a second product within a field of view of one or moreimage sensors; means for detecting movement of the first product or thesecond product relative to one another; means for, in accordance with adetermination that the movement of the first product or the secondproduct relative to one another causes the first product to come withina threshold distance of the second product: displaying comparisoninformation at a location at least partially between the first productand the second product; and means for, in accordance with adetermination that the movement of the first product or the secondproduct relative to one another does not cause the first product to comewithin a threshold distance of the second product: forgoing displayingthe comparison information.

In accordance with some embodiments, a method for providing productinformation is described. The method includes: at an electronic devicewith a display and one or more image sensors: identifying a productwithin a field of view of the one or more image sensors; retrieving aplurality of product characteristics associated with the product;determining a plurality of values based on the plurality of productcharacteristics and a set of criteria; detecting a request to viewproduct information associated with the product; and in response todetecting the request, displaying product information associated withthe product, wherein the product information includes a graphicalrepresentation of the plurality of values.

In accordance with some embodiments, a non-transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device is described. The one ormore programs include instructions for: identifying a product within afield of view of one or more image sensors; retrieving a plurality ofproduct characteristics associated with the product; determining aplurality of values based on the plurality of product characteristicsand a set of criteria; detecting a request to view product informationassociated with the product; and in response to detecting the request,displaying product information associated with the product, wherein theproduct information includes a graphical representation of the pluralityof values.

In accordance with some embodiments, a transitory computer-readablestorage medium storing one or more programs configured to be executed byone or more processors of an electronic device is described. The one ormore programs include instructions for: identifying a product within afield of view of one or more image sensors; retrieving a plurality ofproduct characteristics associated with the product; determining aplurality of values based the plurality of product characteristics and aset of criteria; detecting a request to view product informationassociated with the product; and in response to detecting the request,displaying product information associated with the product, wherein theproduct information includes a graphical representation of the pluralityof values.

In accordance with some embodiments, an electronic device comprising oneor more processors and memory storing one or more programs configured tobe executed by the one or more processors is described. The one or moreprograms include instructions for: identifying a product within a fieldof view of one or more image sensors; retrieving a plurality of productcharacteristics associated with the product; determining a plurality ofvalues based on the plurality of product characteristics and a set ofcriteria; detecting a request to view product information associatedwith the product; and in response to detecting the request, displayingproduct information associated with the product, wherein the productinformation includes a graphical representation of the plurality ofvalues.

In accordance with some embodiments, an electronic device is described.The electronic device includes means for identifying a product within afield of view of one or more image sensors; means for retrieving aplurality of product characteristics associated with the product; meansfor determining a plurality of values based on the plurality of productcharacteristics and a set of criteria; means for detecting a request toview product information associated with the product; and means for, inresponse to detecting the request, displaying product informationassociated with the product, wherein the product information includes agraphical representation of the plurality of values.

Executable instructions for performing these functions are, optionally,included in a non-transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors. Executable instructions for performing these functions are,optionally, included in a transitory computer-readable storage medium orother computer program product configured for execution by one or moreprocessors.

Thus, devices are provided with faster, more efficient methods andinterfaces for providing product information, thereby increasing theeffectiveness, efficiency, and user satisfaction with such devices. Suchmethods and interfaces may complement or replace other methods forproviding product information.

DESCRIPTION OF THE FIGURES

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIGS. 1A and 1B depict exemplary systems for use in variouscomputer-generated reality (CGR) technologies.

FIG. 2A illustrates an example of a product being viewed in a CGRenvironment.

FIG. 2B illustrates an example of detailed information for a productbeing viewed in a CGR environment.

FIG. 2C illustrates an example of further information for a productbeing viewed in a CGR environment.

FIG. 2D illustrates an example of a settings interface being viewed in aCGR environment.

FIG. 2E illustrates an example of a value associated with a criteriaoption being changed.

FIG. 2F illustrates an example of displayed product information beingchanged in response to a change in a criteria option.

FIG. 2G illustrates an example of an avoidance option being selected.

FIG. 2H illustrates an example of a general warning being displayed in aCGR environment.

FIG. 2I illustrates an example of a detailed warning being displayed ina CGR environment.

FIG. 3 is a flow diagram illustrating a method for providing productinformation using an electronic device in accordance with someembodiments.

FIG. 4A illustrates an example of two products being viewed in a CGRenvironment.

FIG. 4B illustrates an example of a first product being within athreshold distance of a second product.

FIG. 4C illustrates another example of a first product being within athreshold distance of a second product.

FIG. 4D illustrates an example of detailed information for a firstproduct and a second product being viewed in a CGR environment.

FIG. 4E illustrates an example of two products from different categoriesbeing viewed in a CGR environment.

FIG. 4F illustrates an example of a notification indicating anincompatibility between two products.

FIG. 5 is a flow diagram illustrating a method for providing productcomparison information using an electronic device in accordance withsome embodiments.

DESCRIPTION OF EMBODIMENTS

Various embodiments of electronic systems and techniques for using suchsystems in relation to various computer-generated reality technologies,including virtual reality and mixed reality (which incorporates sensoryinputs from a physical environment), are described.

A physical environment (or real environment) refers to a physical worldthat people can sense and/or interact with without aid of electronicsystems. Physical environments, such as a physical park, includephysical articles (or physical objects or real objects), such asphysical trees, physical buildings, and physical people. People candirectly sense and/or interact with the physical environment, such asthrough sight, touch, hearing, taste, and smell.

In contrast, a computer-generated reality (CGR) environment refers to awholly or partially simulated environment that people sense and/orinteract with via an electronic system. In CGR, a subset of a person'sphysical motions, or representations thereof, are tracked, and, inresponse, one or more characteristics of one or more virtual objectssimulated in the CGR environment are adjusted in a manner that comportswith at least one law of physics. For example, a CGR system may detect aperson's head turning and, in response, adjust graphical content and anacoustic field presented to the person in a manner similar to how suchviews and sounds would change in a physical environment. In somesituations (e.g., for accessibility reasons), adjustments tocharacteristic(s) of virtual object(s) in a CGR environment may be madein response to representations of physical motions (e.g., vocalcommands).

A person may sense and/or interact with a CGR object using any one oftheir senses, including sight, sound, touch, taste, and smell. Forexample, a person may sense and/or interact with audio objects thatcreate a 3D or spatial audio environment that provides the perception ofpoint audio sources in 3D space. In another example, audio objects mayenable audio transparency, which selectively incorporates ambient soundsfrom the physical environment with or without computer-generated audio.In some CGR environments, a person may sense and/or interact only withaudio objects.

Examples of CGR Include Virtual Reality and Mixed Reality.

A virtual reality (VR) environment (or virtual environment) refers to asimulated environment that is designed to be based entirely oncomputer-generated sensory inputs for one or more senses. A VRenvironment comprises a plurality of virtual objects with which a personmay sense and/or interact. For example, computer-generated imagery oftrees, buildings, and avatars representing people are examples ofvirtual objects. A person may sense and/or interact with virtual objectsin the VR environment through a simulation of the person's presencewithin the computer-generated environment, and/or through a simulationof a subset of the person's physical movements within thecomputer-generated environment.

In contrast to a VR environment, which is designed to be based entirelyon computer-generated sensory inputs, a mixed reality (MR) environmentrefers to a simulated environment that is designed to incorporatesensory inputs from the physical environment, or a representationthereof, in addition to including computer-generated sensory inputs(e.g., virtual objects). On a virtuality continuum, a mixed realityenvironment is anywhere between, but not including, a wholly physicalenvironment at one end and virtual reality environment at the other end.

In some MR environments, computer-generated sensory inputs may respondto changes in sensory inputs from the physical environment. Also, someelectronic systems for presenting an MR environment may track locationand/or orientation with respect to the physical environment to enablevirtual objects to interact with real objects (that is, physicalarticles from the physical environment or representations thereof). Forexample, a system may account for movements so that a virtual treeappears stationary with respect to the physical ground.

Examples of Mixed Realities Include Augmented Reality and AugmentedVirtuality.

An augmented reality (AR) environment refers to a simulated environmentin which one or more virtual objects are superimposed over a physicalenvironment, or a representation thereof. For example, an electronicsystem for presenting an AR environment may have a transparent ortranslucent display through which a person may directly view thephysical environment. The system may be configured to present virtualobjects on the transparent or translucent display, so that a person,using the system, perceives the virtual objects superimposed over thephysical environment. Alternatively, a system may have an opaque displayand one or more imaging sensors that capture images or video of thephysical environment, which are representations of the physicalenvironment. The system composites the images or video with virtualobjects, and presents the composition on the opaque display. A person,using the system, indirectly views the physical environment by way ofthe images or video of the physical environment, and perceives thevirtual objects superimposed over the physical environment. As usedherein, a video of the physical environment shown on an opaque displayis called “pass-through video,” meaning a system uses one or more imagesensor(s) to capture images of the physical environment, and uses thoseimages in presenting the AR environment on the opaque display. Furtheralternatively, a system may have a projection system that projectsvirtual objects into the physical environment, for example, as ahologram or on a physical surface, so that a person, using the system,perceives the virtual objects superimposed over the physicalenvironment.

An augmented reality environment also refers to a simulated environmentin which a representation of a physical environment is transformed bycomputer-generated sensory information. For example, in providingpass-through video, a system may transform one or more sensor images toimpose a select perspective (e.g., viewpoint) different than theperspective captured by the imaging sensors. As another example, arepresentation of a physical environment may be transformed bygraphically modifying (e.g., enlarging) portions thereof, such that themodified portion may be representative but not photorealistic versionsof the originally captured images. As a further example, arepresentation of a physical environment may be transformed bygraphically eliminating or obfuscating portions thereof.

An augmented virtuality (AV) environment refers to a simulatedenvironment in which a virtual or computer generated environmentincorporates one or more sensory inputs from the physical environment.The sensory inputs may be representations of one or more characteristicsof the physical environment. For example, an AV park may have virtualtrees and virtual buildings, but people with faces photorealisticallyreproduced from images taken of physical people. As another example, avirtual object may adopt a shape or color of a physical article imagedby one or more imaging sensors. As a further example, a virtual objectmay adopt shadows consistent with the position of the sun in thephysical environment.

There are many different types of electronic systems that enable aperson to sense and/or interact with various CGR environments. Examplesinclude head mounted systems, projection-based systems, heads-updisplays (HUDs), vehicle windshields having integrated displaycapability, windows having integrated display capability, displaysformed as lenses designed to be placed on a person's eyes (e.g., similarto contact lenses), headphones/earphones, speaker arrays, input systems(e.g., wearable or handheld controllers with or without hapticfeedback), smartphones, tablets, and desktop/laptop computers. A headmounted system may have one or more speaker(s) and an integrated opaquedisplay. Alternatively, a head mounted system may be configured toaccept an external opaque display (e.g., a smartphone). The head mountedsystem may incorporate one or more imaging sensors to capture images orvideo of the physical environment, and/or one or more microphones tocapture audio of the physical environment. Rather than an opaquedisplay, a head mounted system may have a transparent or translucentdisplay. The transparent or translucent display may have a mediumthrough which light representative of images is directed to a person'seyes. The display may utilize digital light projection, OLEDs, LEDs,uLEDs, liquid crystal on silicon, laser scanning light source, or anycombination of these technologies. The medium may be an opticalwaveguide, a hologram medium, an optical combiner, an optical reflector,or any combination thereof. In one embodiment, the transparent ortranslucent display may be configured to become opaque selectively.Projection-based systems may employ retinal projection technology thatprojects graphical images onto a person's retina. Projection systemsalso may be configured to project virtual objects into the physicalenvironment, for example, as a hologram or on a physical surface.

FIG. 1A and FIG. 1B depict exemplary system 100 for use in variouscomputer-generated reality technologies, including virtual reality andmixed reality.

In some embodiments, as illustrated in FIG. 1A, system 100 includesdevice 100 a. Device 100 a includes various components, such asprocessor(s) 102, RF circuitry(ies) 104, memory(ies) 106, imagesensor(s) 108, orientation sensor(s) 110, microphone(s) 112, locationsensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitivesurface(s) 122. These components optionally communicate overcommunication bus(es) 150 of device 100 a.

In some embodiments, elements of system 100 are implemented in a basestation device (e.g., a computing device, such as a remote server,mobile device, or laptop) and other elements of the system 100 areimplemented in a head-mounted display (HMD) device designed to be wornby the user, where the HMD device is in communication with the basestation device. In some examples, device 100 a is implemented in a basestation device or a HMD device.

As illustrated in FIG. 1B, in some embodiments, system 100 includes two(or more) devices in communication, such as through a wired connectionor a wireless connection. First device 100 b (e.g., a base stationdevice) includes processor(s) 102, RF circuitry(ies) 104, andmemory(ies) 106. These components optionally communicate overcommunication bus(es) 150 of device 100 b. Second device 100 c (e.g., ahead-mounted device) includes various components, such as processor(s)102, RF circuitry(ies) 104, memory(ies) 106, image sensor(s) 108,orientation sensor(s) 110, microphone(s) 112, location sensor(s) 116,speaker(s) 118, display(s) 120, and touch-sensitive surface(s) 122.These components optionally communicate over communication bus(es) 150of device 100 c.

FIG. 2A illustrates an example of a product 202 being viewed in a CGRenvironment 200. As shown in FIG. 2A, when product 202 is viewed in theCGR environment 200, product information 204 is displayed at a locationnear product 202. In some embodiments, CGR environment 200 is viewedusing device 100 a of system 100, as described in reference to FIGS. 1Aand 1B.

When product 202 is detected within the field of view of device 100 a(such as with image sensor(s) 108 described in reference to FIGS. 1A and1B), system 100 attempts to identify product 202. If product 202 isidentified by system 100, then product characteristics for product 202are retrieved from, for example, a local database or a remote server.The product characteristics include data about product 202, such asretail price, features of the product, ingredients, nutritioninformation, allergy information, directions for use, drug interactioninformation, environmental rating (e.g., degree to which the product'spackaging or manufacturing impacts the environment), and user rating(e.g., average score given by other users of the product).

After retrieving the product characteristics, a plurality of values aredetermined based on the product characteristics and a set of criteria.The set of criteria include factors that may aid in a purchasingdecision for product 202, such as price, quantity, size, color,calories, ingredients, environmental rating, and user rating. In someembodiments, the set of criteria are defined by a user. In someembodiments, the set of criteria are predefined. The plurality of valuesrepresent the degree to which the product characteristics match the setof criteria. For example, if a criterion in the set of criteria isprice, then the price of product 202 is compared to a threshold price(e.g., the average price of other similar products, or a user-defineddesired price) or a range of prices for the product (e.g., a low pricefor the product through a high price for the product). If the price ofproduct 202 is below the threshold price, then the value in theplurality of values representing price is high (e.g., the price ofproduct 202 may be a good deal). If the price of product 202 is abovethe threshold price, then the value in the plurality of valuesrepresenting price is low (e.g., the price of product 202 may not be agood deal). In some embodiments, the price of the product is analyzed inview of the range of prices for the product (or similar products). Insome examples, the device determines the percentile in which the currentprice falls for product 202 as compared to the range of prices for theproduct (or similar products).

As another example, if a criterion in the set of criteria is calories,then the calories in a serving of product 202 is compared to a thresholdcalorie amount (e.g., an average of calories per serving of othersimilar products, or a user-defined calorie amount for a category offood that includes product 202) or a range of calorie amounts forsimilar products (e.g., a low calorie amount through a high calorieamount for similar products). If the calories in a serving of product202 is below the threshold calorie amount, then the value in theplurality of values representing calories is high (e.g., product 202 maybe a healthy food). If the calories in a serving of product 202 is abovethe threshold calories amount, then the value in the plurality of valuesrepresenting calories is low (e.g., product 202 may not be a healthyfood). In some embodiments, the calorie amount of the product isanalyzed in view of the range of calorie amounts for similar products.In some examples, the device determines the percentile in which thecalorie amount falls for product 202 as compared to a range of calorieamounts for similar products.

As another example, if a criterion in the set of criteria is userrating, then the user rating of product 202 is assigned to a value inthe plurality of values representing user rating. If the user rating ofproduct 202 is low, then the value in the plurality of valuesrepresenting user rating is also low. If the user rating of product 202is high, then the value in the plurality of values representing userrating is also high. Alternatively, when a criterion in the set ofcriteria is user rating, then the user rating of product 202 is comparedto a threshold user rating (e.g., an average of user ratings for othersimilar products, or a user-defined minimum rating). If the user ratingof product 202 is below the threshold user rating, then the value in theplurality of values representing user rating is low (e.g., product 202is below the user-defined minimum rating). If the user rating of product202 is above the threshold user rating, then the value in the pluralityof values representing user rating is high (e.g., product 202 is abovethe user-defined minimum rating).

Once the plurality of values are determined, a graphical representationof the plurality values is displayed as product information 204. In theexample shown in FIG. 2A, product information includes a graphicalrepresentation of three values. A first value representing price isgraphically represented by first ring 206 a. The length of first ring206 a corresponds to the first value representing price (e.g., a shortfirst ring 206 a indicates the price of product 202 is high compared toa threshold price, while a long first ring 206 a indicates the price ofproduct 202 is low compared to the threshold price). In someembodiments, ring 206 a corresponds to the percentile of the price ofproduct 202 as compared to the range of prices for the product (orsimilar products). For example, when the price of product 202 is at the70th percentile between the low and high of the range of prices, ring206 a is filled in 70% of the way to indicate that the price is arelatively good price. In some examples, ring 206 a being 100% filledindicates the price of product 202 is the same or less than the range ofprices, 50% filled indicates the price of product 202 is the same as theaverage of the range of prices.

A second value representing environmental rating is graphicallyrepresented by second ring 206 b. The length of second ring 206 bcorresponds to the second value representing environmental rating (e.g.,a short second ring 206 b indicates a low environmental rating, while along second ring 206 b indicates a high environmental rating). In someembodiments, ring 206 b corresponds to the percentile of the environmentrating of product 202 as compared to the range of environmental ratingsfor similar products. For example, when the environmental rating ofproduct 202 is at the 70th percentile between the low and high of therange of environment ratings, ring 206 b is filled in 70% of the way toindicate that the price is a relatively environmentally friendlycompared to similar products.

A third value representing user rating is graphically represented bythird ring 206 c. The length of third ring 206 c corresponds to thethird value representing user rating (e.g., a short third ring 206 cindicates a low user rating, while a long third ring 206 c indicates ahigh environmental rating). As described with respect to the second ring206 b, the third ring 206 c illustrates a value as compared to a range.

While shown as rings in FIG. 2A, it should be understood that productinformation 204 can include other graphical representations of theplurality of values, such as a bar chart, a radar chart, star ratings,numerical values, etc.

In some embodiments, product information 204 is displayed in response toproduct 202 being less than a first threshold distance from device 100a. For example, if product 202 is detected in the field of view ofdevice 100 a at a distance greater than the first threshold distance,then product information 204 is not displayed. Once the devicedetermines that the distance to product 202 is less than the firstthreshold distance, then product information 204 is displayed, as shownin FIG. 2A. In some embodiments, product information 204 is displayed ata position relative to product 202 in the CGR environment 200. As device100 a or product 202 moves relative to each other, the position ofproduct information 204 relative to product 202 remains constant (e.g.,product information 204 continues to appear above product 202 in the CGRenvironment 200 as product 202 is moved by a user).

In some embodiments, product information 204 is displayed in response todetecting movement of product 202 relative to device 100 a (e.g.,relative to image sensor(s) 108 of device 100 a). For example, when auser picks up product 202, the motion of product 202 relative to device100 a is detected. In response to this motion, product information 204is displayed.

In some embodiments, product information 204 is displayed in response todetecting a gesture associated with product 202. For example, when auser moves product 202 in a specific manner, product information 204 isdisplayed. The specific manner of movement of product 202 optionallyincludes one or more of: an upward movement, a movement toward theuser's head, a movement toward a sensor (e.g., visual sensor) of theelectronic device, or any other movement to indicate user interest inproduct 202.

In some embodiments, after displaying product information 204,additional detailed information about product 202 is displayed. FIG. 2Billustrates an example of detailed information 208 for product 202 beingviewed in CGR environment 200. Detailed information 208 includes one ormore specific product characteristics retrieved for product 202, such asretail price, features of the product, ingredients, nutritioninformation, allergy information, directions for use, drug interactioninformation, environmental rating, and user rating. In some examples, asillustrated in FIGS. 2A and 2B, display of detailed information 208replaces display of product information 204. In some embodiments, device100 a displays detailed information 208 while maintaining (in additionto) display of product information 204.

In some embodiments, detailed information 208 is displayed in responseto detecting that a distance between product 202 and device 100 a isless than a second threshold distance (e.g., product 202 is closer toimage sensor(s) 108 of device 100 a in FIG. 2B than in FIG. 2A). Forexample, if product 202 is detected in the field of view of device 100 aat a distance greater than the second threshold distance but less thanthe first threshold distance, then product information 204 is displayedas shown in FIG. 2A. If the distance to product 202 is reduced to lessthan the second threshold distance, then detailed information 208 isdisplayed, as shown in FIG. 2B. In some embodiments, detailedinformation 208 is displayed at a position relative to product 202 inthe CGR environment 200. As device 100 a or product 202 moves relativeto each other, the position of detailed information 208 relative toproduct 202 remains constant (e.g., detailed information 208 continuesto appear above product 202 in the CGR environment 200 as product 202 ismoved by a user).

In some embodiments, detailed information 208 is displayed in responseto detecting movement of product 202 relative to device 100 a (e.g.,relative to image sensor(s) 108 of device 100 a). For example, when auser picks up product 202, the motion of product 202 relative to device100 a is detected. In response to this motion, detailed information 208is displayed.

In some embodiments, detailed information 208 is displayed in responseto detecting a gesture associated with product 202. For example, when auser moves product 202 in a specific manner, detailed information 208 isdisplayed. The specific manner of movement of product 202 includes anupward movement, a movement toward the user's head, or any othermovement to indicate the user is interested in viewing detailedinformation about product 202.

In some embodiments, further information about product 202 is displayedin response to detecting an input requesting the further information. Insome embodiments, the input requesting the further information is a tapor swipe gesture at a location where pull-up menu 210 is displayed inCGR environment 200. In some embodiments, the input requesting thefurther information is a tap or swipe gesture at a location wheredetailed information 208 is displayed in CGR environment 200. In someembodiments, the input requesting the further information is a tap orswipe gesture at a location of product 202 in CGR environment 200.

FIG. 2C illustrates an example of further information 212 for product202 being viewed in CGR environment 200. Further information 212includes additional information about product 202 not included indetailed information 208, such as retail price, features of the product,ingredients, nutrition information, allergy information, directions foruse, drug interaction information, environmental rating, and userrating. Further information 212 is displayed in response to detecting aninput requesting the further information, as described in reference toFIG. 2B.

FIG. 2D illustrates an example of a settings interface 216 being viewedin CGR environment 200. In some embodiments, settings interface 216 isdisplayed in response to detecting an input at a location of settingsaffordance 214 in CGR environment 200. Settings interface 216 includescriteria options 218 a-218 c for the set of criteria used in determiningthe plurality of values for the product information 204, as shown inFIG. 2A. For example, as shown in FIG. 2D, criteria option 218 acorresponds to a price criterion (e.g., “VALUE”), criteria option 218 bcorresponds to an environmental rating criterion (e.g., “ECO”), andcriteria option 218 c corresponds to a user rating criterion (e.g.,“RATING”). In some embodiments, different or additional criteria optionsare selected to change the set of criteria for the product information204. For example, criteria option 218 a can be changed from the pricecriterion to a different criterion, such as size, color, calories, oringredients.

In some embodiments, values associated with criteria options 218 a-218 care changed. Changing the values associated with criteria options 218a-218 c results in the values for the product information 204 also beingchanged. FIG. 2E illustrates an example of the value associated withcriteria option 218 c being reduced. Reducing the value of criteriaoption 218 c results in the user-defined minimum rating being reduced.As a result, the value graphically represented by third ring 206 c ofproduct information 204 is increased, as shown in FIG. 2F (e.g., theuser rating of product 202 is now higher relative to the changeduser-defined minimum rating).

In some embodiments, settings interface 216 further includes one or moreavoidance options. Avoidance options correspond to features oringredients of a product that a user prefers to avoid, such asingredients that the user has allergies or intolerances to. FIG. 2Gillustrates an example of avoidance option 220 (“SOY”) being selected.In some embodiments, avoidance option 220 is selected in response todetecting an input at the location of avoidance option 220 in CGRenvironment 200. In some embodiments, avoidance option 220 ispre-selected in response to known allergy information for a user ofdevice 100 a.

When a product including the feature or ingredient corresponding to theselected avoidance option 220 is viewed in CGR environment 200, awarning is displayed. FIG. 2H illustrates an example of a generalwarning 222 being displayed in CGR environment 200. General warning 222indicates that product 202 includes a feature or ingredient selected inthe avoidance options. In some embodiments, general warning 222 isdisplayed at a position relative to product 202 in the CGR environment200. As device 100 a or product 202 moves, the position of generalwarning 222 relative to product 202 remains constant (e.g., generalwarning 222 continues to appear above product 202 in the CGR environment200 as product 202 is moved by a user).

In some embodiments, a detailed warning is displayed in response toproduct 202 being less than a third threshold distance from device 100a. FIG. 2I illustrates an example of a detailed warning 224 beingdisplayed in CGR environment 200 (e.g., product 202 is closer to imagesensor(s) 108 of device 100 a in FIG. 2I than in FIG. 2H). For example,if product 202 is detected in the field of view of device 100 a at adistance greater than the third threshold distance, then general warning222 is displayed as shown in FIG. 2H. If the distance to product 204 isreduced to less than the third threshold distance, then detailed warning224 is displayed, as shown in FIG. 2I. In some embodiments, detailedwarning 224 is displayed at a position relative to product 202 in theCGR environment 200. As device 100 a or product 202 moves, the positionof detailed warning 224 relative to product 202 remains constant (e.g.,detailed warning 224 continues to appear above product 202 in the CGRenvironment 200 as product 202 is moved by a user).

FIG. 3 is a flow diagram illustrating a method for providing productinformation using an electronic device in accordance with someembodiments. Method 300 is performed at a device (e.g., 100 a) with adisplay (e.g., 120) and one or more image sensors (e.g., 108). Someoperations in method 300 are, optionally, combined, the orders of someoperations are, optionally, changed, and some operations are,optionally, omitted.

As described below, method 300 provides an intuitive way for providingproduct information. The method reduces the cognitive burden on a userfor locating product information, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to view product information faster and more efficientlyconserves power and increases the time between battery charges.

At block 302, a product (e.g., 202) within a field of view of one ormore image sensors (e.g., 108) is identified.

At block 304, a plurality of product characteristics associated with theproduct are retrieved. In some embodiments, the plurality of productcharacteristics includes one or more of price, quantity, size, features,ingredients, nutrition information, allergy information, directions foruse, drug interaction information, environmental rating, and userrating.

At block 306, a plurality of values are determined based on theplurality of product characteristics and a set of criteria. In someembodiments, the set of criteria includes one or more of price, size,color, calories, ingredients, environmental rating, and user rating.

At block 308, a request to view product information (e.g., 204)associated with the product (e.g., 202) is detected. In someembodiments, detecting the request to view product information (e.g.,204) includes detecting a distance between the product (e.g., 202) andthe one or more image sensors (e.g., 108) is less than a first thresholddistance. In some embodiments, detecting the request to view productinformation (e.g., 204) includes detecting movement of the product(e.g., 202) relative to the one or more image sensors (e.g., 108). Insome embodiments, detecting the request to view product information(e.g., 204) includes detecting a gesture associated with the product(e.g., a specific movement of product 202).

At block 310, in response to detecting the request, product information(e.g., 204) associated with the product (e.g., 202) is displayed (e.g.,in CGR environment 200). The product information (e.g., 204) includes agraphical representation of the plurality of values. In someembodiments, the product information (e.g., 204) is displayed at aposition relative to the product (e.g., product information 204 isdisplayed above product 202). In some embodiments, the relative positionof the product information (e.g., 204) is maintained during movement ofthe product (e.g., product information 204 continues to be displayedabove product 202 while product 202 moves).

In some embodiments, after displaying the product information (e.g.,204), a request to view detailed information (e.g., 208) is detected. Inresponse to detecting the request to view detailed information (e.g.,208), one or more of the plurality of product characteristics aredisplayed. In some embodiments, detecting the request to view detailedinformation (e.g., 208) includes detecting a distance between theproduct (e.g., 202) and the one or more image sensors (e.g., 108) isless than a second threshold distance. In some embodiments, detectingthe request to view detailed information (e.g., 208) includes detectingmovement of the product (e.g., 202) relative to the one or more imagesensors (e.g., 108). In some embodiments, detecting the request to viewdetailed information (e.g., 208) includes detecting a second gestureassociated with the product (e.g., a specific movement of product 202 orinput in the CGR environment).

Note that details of the processes described above with respect tomethod 300 (e.g., FIG. 3 are also applicable in an analogous manner tothe methods described below. For example, method 500 optionally includesone or more of the characteristics of the various methods describedabove with reference to method 300. For example, product information ordetailed information can be displayed in method 500 using one or more ofthe techniques described in method 300. For brevity, these details arenot repeated below.

FIG. 4A illustrates an example of two products 402 a and 402 b beingviewed in a CGR environment 400. As shown in FIG. 4A, when products 402a and 402 b are viewed in the CGR environment 400, product information404 a is displayed at a location near product 402 a and productinformation 404 b is displayed at a location near product 402 b. In someembodiments, CGR environment 400 is viewed using device 100 a of system100, as described in reference to FIGS. 1A and 1B.

When products 402 a and 402 b are detected within the field of view ofdevice 100 a (such as with image sensor(s) 108 described in reference toFIGS. 1A and 1B), system 100 attempts to identify products 402 a and 402b. If products 402 a and 402 b are identified by system 100, thenproduct information 404 a and 404 b are displayed. In some embodiments,product information 404 a and 404 b are displayed using one or more ofthe techniques described in reference to FIGS. 2A-2I.

In some embodiments, product information 404 a and 404 b are displayedin response to products 402 a and 402 b being less than a firstthreshold distance from device 100 a. For example, if product 402 a isdetected in the field of view of device 100 a at a distance greater thanthe first threshold distance, then product information 404 a is notdisplayed. Once the distance to product 402 a is less than the firstthreshold distance, then product information 404 a is displayed, asshown in FIG. 4A. A similar technique applies to product information 404b. In some embodiments, product information 404 a is displayed at aposition relative to product 402 a in the CGR environment 400, andproduct information 404 b is displayed at a position relative to product402 b in the CGR environment 400. As device 100 a or either product 402a or 402 b moves, the position of product information 404 a and 404 brelative to products 402 a and 402 b remains constant (e.g., productinformation 402 a continues to appear above product 402 a in the CGRenvironment 400 as product 402 a is moved by a user).

In some embodiments, product information 404 a is displayed in responseto detecting movement of product 402 a relative to device 100 a (e.g.,relative to image sensor(s) 108 of device 100 a). For example, when auser picks up product 402 a, the motion of product 402 a relative todevice 100 a is detected. In response to this motion, productinformation 404 a is displayed. Similarly, in some embodiments, productinformation 404 b is displayed in response to detecting movement ofproduct 402 b relative to device 100 a (e.g., relative to imagesensor(s) 108 of device 100 a).

In some embodiments, product information 404 a is displayed in responseto detecting a gesture associated with product 402 a. For example, whendevice 100 a detects that a user moves product 402 a in a specificmanner, product information 404 a is displayed. The specific manner ofmovement of product 402 a includes an upward movement, a movement towardthe user's head, or any other movement to indicate user interest inproduct 402 a. Similar, in some embodiments, product information 404 bis displayed in response to detecting a gesture associated with product402 b.

When a movement of product 402 a relative to product 402 b is detected,a determination is made as to whether the movement causes product 402 ato come within a threshold distance of product 402 b. FIG. 4Billustrates an example of product 402 a being within the thresholddistance of product 402 b. When product 402 a is within the thresholddistance of product 402 b, comparison information 406 a is displayed inCGR environment 400 at a location at least partially between products402 a and 402 b. If product 402 a is not moved within the thresholddistance of product 402 b, then display of comparison information 406 ais forgone. As shown in FIG. 4B, comparison information 406 a includesinformation regarding the prices and ingredients of products 402 a and402 b. By displaying the prices and ingredients of products 402 a and402 b at the same time, the products can be more easily compared. Insome embodiments, comparison information 406 a includes one or more ofprice, features, ingredients, nutrition information, allergyinformation, directions for use, drug interaction information,environmental rating, and user rating.

In some embodiments, comparison information 406 a is displayed duringmovement of the product 402 a or 402 b. For example, as soon as device100 a determines that product 402 a is within the threshold distancefrom product 402 b, comparison information 406 a is displayed.Comparison information 406 a continues to be displayed while device 100a detects product 402 a moving relative to product 402 b, as long asdevice 100 a continues to determine that product 402 a is within thethreshold distance from product 402 b. In some embodiments, while device100 a detects product 402 a moving relative to product 402 b within thethreshold distance, display of comparison information 406 a ismaintained at a location at least partially between the first productand the second product (e.g., comparison information 406 a is keptcentered between products 402 a and 402 b while the products moverelative to each other). In some embodiments, display of productinformation 404 a and 404 b is maintained while comparison information406 a is displayed. When device 100 a determines that product 402 a isno longer within the threshold distance of product 402 b (e.g., product402 a is moved away from product 402 b), then comparison information 406a ceases to be displayed.

FIG. 4C illustrates another example of product 402 a being within thethreshold distance of product 402 b. As shown in FIG. 4C, comparisoninformation 406 b includes ratings and recommendation information forproducts 402 a and 402 b. In some embodiments the ratings andrecommendation information are based on user-defined preferences. Bydisplaying ratings and recommendation information for products 402 a and402 b, a preferred product can be more easily chosen by a user. In someembodiments, comparison information 406 b includes one or more of price,features, ingredients, nutrition information, allergy information,directions for use, drug interaction information, environmental rating,and user rating.

In some embodiments, while displaying comparison information 406 a or406 b, additional detailed information about products 402 a or 402 b isdisplayed. FIG. 4D illustrates an example of detailed information 408 afor product 402 a being viewed in CGR environment 400, and detailedinformation 408 b for product 402 b also being viewed in CGR environment400. As shown in FIG. 4D, detailed information 408 a and 408 b aredisplayed with comparison information 406 b. Detailed information 408 aand 408 b include one or more specific product characteristics for therespective products 402 a and 402 b, such as retail price, features ofthe products, ingredients, nutrition information, allergy information,directions for use, drug interaction information, environmental rating,and user rating. In some embodiments, detailed information 408 a and 408b are displayed using one or more of the techniques described inreference to FIGS. 2A-2I.

In some embodiments, detailed information 408 a is displayed in responseto detecting a distance between product 402 a and device 100 a is lessthan a second threshold distance (e.g., product 402 a is closer to imagesensor(s) 108 of device 100 a in FIG. 4D than in FIG. 4C). Similarly, insome embodiments, detailed information 408 b is displayed in response todetecting a distance between product 402 b and device 100 a is less thanthe second threshold distance (e.g., product 402 b is closer to imagesensor(s) 108 of device 100 a in FIG. 4D than in FIG. 4C). For example,if product 402 a is detected in the field of view of device 100 a at adistance greater than the second threshold distance but less than thefirst threshold distance, then product information 404 a is displayed asshown in FIG. 4C. If the distance to product 402 a is reduced to lessthan the second threshold distance, then detailed information 408 a isdisplayed, as shown in FIG. 4D. In some embodiments, detailedinformation 408 a is displayed at a position relative to product 402 ain the CGR environment 400. As device 100 a or product 402 a moves, theposition of detailed information 408 a relative to product 402 a remainsconstant (e.g., detailed information 408 a continues to appear aboveproduct 402 a in the CGR environment 400 as product 402 a is moved by auser). Similarly, as device 100 a or product 402 b moves, the positionof detailed information 408 b relative to product 402 b remainsconstant.

In some embodiments, detailed information 408 a is displayed in responseto detecting movement of product 402 a relative to device 100 a (e.g.,relative to image sensor(s) 108 of device 100 a). For example, when auser picks up product 402 a, the motion of product 402 a relative todevice 100 a is detected. In response to this motion, detailedinformation 408 a is displayed. Similarly, in some embodiments, detailedinformation 408 b is displayed in response to detecting movement ofproduct 402 b relative to device 100 a (e.g., relative to imagesensor(s) 108 of device 100 a).

In some embodiments, detailed information 408 a is displayed in responseto detecting a gesture associated with product 402 a. For example, whena user moves product 402 a in a specific manner, detailed information408 a is displayed. The specific manner of movement of product 402 aincludes an upward movement, a movement toward the user's head, or anyother movement to indicate the user is interested in viewing detailedinformation about product 402 a. Similarly, in some embodiments,detailed information 408 b is displayed in response to detecting agesture associated with product 402 b.

In some embodiments, comparison information 406 a or 406 b is displayedconcurrently with detailed information 408 a or 408 b. Comparisoninformation 406 a or 406 b is displayed concurrently with detailedinformation 408 a or 408 b when product 402 a is within the thresholddistance of product 402 b, and one or more of the techniques fordisplaying detailed information 408 a or 408 b described above iscarried out.

FIG. 4E illustrates an example of two products 402 c and 402 d beingviewed in the CGR environment 400. In the embodiment shown in FIG. 4E,product 402 c is in a different category of product from product 402 d(e.g., product 402 c is cereal and product 402 d is vitamins). Whendevice 100 a determines that a movement of product 402 c relative toproduct 402 d causes product 402 c to come within the threshold distanceof product 402 d, no comparison information is displayed since theproducts are in different categories.

In some embodiments, as shown in FIG. 4F, notification 410 indicatingthe incompatibility between the products is displayed when device 100 adetermines that product 402 c is within the threshold distance ofproduct 402 d. Notification 410 indicates that the products 402 c and402 d are within a threshold distance from each other, but that nocomparison information is available for display. In some embodiments,notification 410 includes a line or beam connecting product 402 c withproduct 402 d in CGR environment 400. In some embodiments, notification410 continues to be displayed while product 402 c and 402 d moverelative to each other.

FIG. 5 is a flow diagram illustrating a method for providing productcomparison information using an electronic device in accordance withsome embodiments. Method 500 is performed at a device (e.g., 100 a) witha display (e.g., 120) and one or more image sensors (e.g., 108). Someoperations in method 500 are, optionally, combined, the orders of someoperations are, optionally, changed, and some operations are,optionally, omitted.

As described below, method 500 provides an intuitive way for providingproduct comparison information. The method reduces the cognitive burdenon a user for comparing attributes of two products, thereby creating amore efficient human-machine interface. For battery-operated computingdevices, enabling a user to view product comparison information fasterand more efficiently conserves power and increases the time betweenbattery charges.

At block 502, the appearance of a first product (e.g., 402 a) and asecond product (e.g., 402 b) within a field of view of one or more imagesensors (e.g., 108) is detected. In some embodiments, first productinformation (e.g., 404 a) associated with the first product (e.g., 402a) is displayed (e.g., in CGR environment 400). In some embodiments,first product information (e.g., 404 a) associated with the firstproduct (e.g., 402 a) and second product information (e.g., 404 b)associated with the second product (e.g., 402 b) are displayed (e.g., inCGR environment 400). In some embodiments, the first product informationis displayed (e.g., in CGR environment 400) at a position relative tothe first product (e.g., 402 a). In some embodiments, the first productinformation (e.g., 404 a) is displayed in response to a distance betweenthe first product (e.g., 402 a) and the one or more image sensors (e.g.,108) being less than a second threshold distance. In some embodiments,the first product information (e.g., 404 a) is displayed in response todetecting movement of the first product (e.g., 402) relative to the oneor more image sensors (e.g., 108). In some embodiments, the firstproduct information (e.g., 404 a) is displayed in response to detectinga gesture associated with the product (e.g., a specific movement ofproduct 404 a).

At block 504, movement of the first product (e.g., 402 a) or the secondproduct (e.g., 402 b) relative to one another is detected. In someembodiments, the relative position of the first product information(e.g., 404 a) to the first product (e.g., 402 a) is maintained duringmovement of the first product (e.g., 402 a).

At block 506, in accordance with a determination that the movement ofthe first product (e.g., 402 a) or the second product (e.g., 402 b)relative to one another causes the first product (e.g., 402 a) to comewithin a threshold distance of the second product (e.g., 402 b),comparison information (e.g., 406 a or 406 b) is displayed (e.g., in CGRenvironment 400) at a location at least partially between the firstproduct (e.g., 402 a) and the second product (e.g., 402 b). In someembodiments, the comparison information (e.g., 406 a or 406 b) includesone or more of price, features, ingredients, nutrition information,allergy information, directions for use, drug interaction information,environmental rating, and user rating.

In some embodiments, the comparison information is displayed (e.g., inCGR environment 400) at a location at least partially between the firstproduct and the second product during movement of the first product(e.g., 402 a) or the second product (e.g., 402 b). In some embodiments,display of the first product information (e.g., 404 a) is maintainedwhile displaying the comparison information (e.g., 406 a or 406 b). Insome embodiments, display of the first product information (e.g., 404 a)and second product information (e.g., 404 b) is maintained whiledisplaying the product comparison information (e.g., 406 a or 406 b).

At block 508, in accordance with a determination that the movement ofthe first product (e.g., 402 a) or the second product (e.g., 402 b)relative to one another does not cause the first product (e.g., 402 a)to come within a threshold distance of the second product (e.g., 402 b),display of the comparison information (e.g., 406 a or 406 b) is forgone.In some embodiments, in accordance with a determination that the firstproduct (e.g., 402 a) and the second product (e.g., 402 b) are not incompatible product categories, display of the comparison information(e.g., 406 a or 406 b) is forgone. In some embodiments, in accordancewith the determination that the first product and the second product arenot in compatible product categories, a notification (e.g., 410)indicating the incompatibility is displayed.

In some embodiments, at block 510, further movement of the first product(e.g., 402 a) or the second product (e.g., 402 b) relative to oneanother is detected.

In some embodiments, at block 512, in accordance with a determinationthat the further movement of the first product (e.g., 402 a) or thesecond product (e.g., 402 b) relative to one another causes the firstproduct (e.g., 402 a) to remain within the threshold distance of thesecond product (e.g., 402 b), display of the comparison information(e.g., 406 a or 406 b) is maintained (e.g., in CGR environment 400) at alocation at least partially between the first product (e.g., 402 a) andthe second product (e.g., 402 b).

In some embodiments, at block 514, in accordance with a determinationthat the further movement of the first product (e.g., 402 a) or thesecond product (e.g., 402 b) relative to one another causes the firstproduct (e.g., 402 a) to no longer be within the threshold distance ofthe second product (e.g., 402 b), display of the comparison information(e.g., 406 a or 406 b) is ceased.

Note that details of the processes described above with respect tomethod 500 (e.g., FIG. 5 are also applicable in an analogous manner tothe methods described above. For example, method 500 optionally includesone or more of the characteristics of the various methods describedabove with reference to method 300. For example, product information ordetailed information can be displayed in method 500 using one or more ofthe techniques described in method 300. For brevity, these details arenot repeated below.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the techniques and their practical applications. Othersskilled in the art are thereby enabled to best utilize the techniquesand various embodiments with various modifications as are suited to theparticular use contemplated.

Although the disclosure and examples have been fully described withreference to the accompanying drawings, it is to be noted that variouschanges and modifications will become apparent to those skilled in theart. Such changes and modifications are to be understood as beingincluded within the scope of the disclosure and examples as defined bythe claims.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to provideproduct information. The present disclosure contemplates that in someinstances, this gathered data may include data that uniquely identifiesa product for which information is sought. The use of this information,in the present technology, can benefit users. For example, the data canbe used to deliver product information that is of greater interest tothe user, such as nutritional information.

Entities responsible for the collection, analysis, disclosure, transfer,storage, or other use of such data should comply with well-establishedprivacy policies and/or privacy practices. In particular, such entitiesshould implement and consistently use privacy policies and practicesthat are generally recognized as meeting or exceeding industry orgovernmental requirements for maintaining personal information dataprivate and secure. Such policies should be easily accessible by users,and should be updated as the collection and/or use of data changes.Product information requests from users should be collected forlegitimate and reasonable uses of the entity and not shared or soldoutside of those legitimate uses. Further, such collection/sharingshould occur after receiving the informed consent of the users.Additionally, such entities should consider taking any needed steps forsafeguarding and securing access to such data and ensuring that otherswith access to the data adhere to their privacy policies and procedures.Further, such entities can subject themselves to evaluation by thirdparties to certify their adherence to widely accepted privacy policiesand practices. In addition, policies and practices should be adapted forthe particular types of data being collected and/or accessed and adaptedto applicable laws and standards, including jurisdiction-specificconsiderations. Different privacy practices may need to be maintainedfor different data types in each country.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users can restrict the extent to which productsearch information is processed. For example, in the case of providingproduct information tailored to a user's preferences, the presenttechnology can be configured to allow users to select to “opt in” or“opt out” of participation. In addition to providing “opt in” and “optout” options, the present disclosure contemplates providingnotifications relating to the access or use of product information. Forinstance, a user may be notified upon downloading an app that theirproduct information requests are transmitted to servers that providesearch services. Moreover, data de-identification can be used to protecta user's privacy. For example, search requests for product informationmay be obfuscated by removing specific identifiers (e.g., user name andso forth), controlling the amount or specificity of data stored (e.g.,collecting location data at a city level rather than at an addresslevel), controlling how data is stored (e.g., aggregating data acrossusers), and/or other methods.

What is claimed is:
 1. An electronic device, comprising: a display; oneor more image sensors; one or more processors; and memory storing one ormore programs configured to be executed by the one or more processors,the one or more programs including instructions for: detecting theappearance of a first product and a second product within a field ofview of the one or more image sensors; detecting movement of the firstproduct or the second product relative to one another; in accordancewith a determination that the movement of the first product or thesecond product relative to one another causes the first product to comewithin a threshold distance of the second product: displaying comparisoninformation at a location at least partially between the first productand the second product when the first product and the second product arein compatible categories; and forgoing displaying the comparisoninformation when the first product and the second product are not incompatible categories; and in accordance with a determination that themovement of the first product or the second product relative to oneanother does not cause the first product to come within a thresholddistance of the second product, forgoing displaying the comparisoninformation.
 2. The electronic device of claim 1, wherein the comparisoninformation is displayed at a location at least partially between thefirst product and the second product during movement of the firstproduct or the second product.
 3. The electronic device of claim 1,wherein the one or more programs further include instructions for:detecting further movement of the first product or the second productrelative to one another; in accordance with a determination that thefurther movement of the first product or the second product relative toone another causes the first product to remain within the thresholddistance of the second product: maintaining display of the comparisoninformation at a location at least partially between the first productand the second product; and in accordance with a determination that thefurther movement of the first product or the second product relative toone another causes the first product to no longer be within thethreshold distance of the second product: ceasing to display thecomparison information.
 4. The electronic device of claim 1, wherein theone or more programs further include instructions for: in accordancewith the determination that the first product and the second product arenot in compatible product categories, displaying a notificationindicating the incompatibility.
 5. The electronic device of claim 1,wherein the one or more programs further include instructions for:displaying first product information associated with the first product.6. The electronic device of claim 5, wherein the one or more programsfurther include instructions for: maintaining display of the firstproduct information while displaying the comparison information.
 7. Theelectronic device of claim 5, wherein the first product information isdisplayed at a position relative to the first product.
 8. The electronicdevice of claim 7, wherein the relative position of the first productinformation is maintained during the movement of the first product. 9.The electronic device of claim 5, wherein the first product informationis displayed in response to a distance between the first product and theone or more image sensors being less than a second threshold distance.10. The electronic device of claim 5, wherein the first productinformation is displayed in response to detecting movement of the firstproduct relative to the one or more image sensors.
 11. The electronicdevice of claim 5, wherein the first product information is displayed inresponse to detecting a gesture associated with the product.
 12. Theelectronic device of claim 1, wherein the one or more programs furtherinclude instructions for: displaying first product informationassociated with the first product and second product informationassociated with the second product.
 13. The electronic device of claim12, wherein the one or more programs further include instructions for:maintaining display of the first and second product information whiledisplaying the product comparison information.
 14. The electronic deviceof claim 1, wherein the comparison information includes one or more ofprice, features, ingredients, nutrition information, allergyinformation, directions for use, drug interaction information,environmental rating, and user rating.
 15. A non-transitorycomputer-readable storage medium storing one or more programs configuredto be executed by one or more processors of an electronic device with adisplay and one or more image sensors, the one or more programsincluding instructions for: detecting the appearance of a first productand a second product within a field of view of the one or more imagesensors; detecting movement of the first product or the second productrelative to one another; in accordance with a determination that themovement of the first product or the second product relative to oneanother causes the first product to come within a threshold distance ofthe second product; displaying comparison information at a location atleast partially between the first product and the second product whenthe first product and the second product are in compatible categories;and forgoing displaying the comparison information when the firstproduct and the second product are not in compatible categories; and inaccordance with a determination that the movement of the first productor the second product relative to one another does not cause the firstproduct to come within a threshold distance of the second product,forgoing displaying the comparison information.
 16. The non-transitorycomputer-readable storage medium of claim 15, wherein the one or moreprograms further include instructions for: detecting further movement ofthe first product or the second product relative to one another; inaccordance with a determination that the further movement of the firstproduct or the second product relative to one another causes the firstproduct to remain within the threshold distance of the second product:maintaining display of the comparison information at a location at leastpartially between the first product and the second product; and inaccordance with a determination that the further movement of the firstproduct or the second product relative to one another causes the firstproduct to no longer be within the threshold distance of the secondproduct: ceasing to display the comparison information.
 17. Thenon-transitory computer-readable storage medium of claim 15, wherein theone or more programs further include instructions for: displaying firstproduct information associated with the first product.
 18. Thenon-transitory computer-readable storage medium of claim 17, wherein thefirst product information is displayed in response to a distance betweenthe first product and the one or more image sensors being less than asecond threshold distance.
 19. The non-transitory computer-readablestorage medium of claim 17, wherein the first product information isdisplayed in response to detecting movement of the first productrelative to the one or more image sensors.
 20. The non-transitorycomputer-readable storage medium of claim 17, wherein the first productinformation is displayed in response to detecting a gesture associatedwith the product.
 21. A method for providing product information,comprising: at an electronic device with a display and one or more imagesensors: detecting the appearance of a first product and a secondproduct within a field of view of the one or more image sensors;detecting movement of the first product or the second product relativeto one another; in accordance with a determination that the movement ofthe first product or the second product relative to one another causesthe first product to come within a threshold distance of the secondproduct: displaying comparison information at a location at leastpartially between the first product and the second product when thefirst product and the second product are in compatible categories; andforgoing displaying the comparison information when the first productand the second product are not in compatible categories; and inaccordance with a determination that the movement of the first productor the second product relative to one another does not cause the firstproduct to come within a threshold distance of the second product,forgoing displaying the comparison information.
 22. The method of claim21, further comprising: displaying first product information associatedwith the first product.
 23. The method of claim 22, wherein the firstproduct information is displayed in response to a distance between thefirst product and the one or more image sensors being less than a secondthreshold distance.
 24. The method of claim 22, wherein the firstproduct information is displayed in response to detecting movement ofthe first product relative to the one or more image sensors.
 25. Themethod of claim 22, wherein the first product information is displayedin response to detecting a gesture associated with the product.